package com.zhiyou100.review.day003.demo;

import com.zhiyou100.review.day002.homework.HomeWork2;

/**
 * @packageName: Test1
 * @className: com.zhiyou100.review.day003.demo
 * @Description: TODO 练习1
 * @author: yang
 * @date: 2020/6/3
 */
public class Test1 {
    public static void main(String[] args) {
        /*
         * 获取 1 到 100 内位数上含有1的所有质数的的平均值
         *
         *  所有 大于等于6，小于 1000 的偶数，都可以拆分为两个质数之和
         */
        test2();
    }

    /**
     * @Description: TODO 所有 大于等于6，小于 1000 的偶数，都可以拆分为两个质数之和
     * @name: test2
     * @param: []
     * @return: void
     * @date: 2020/6/3 10:03 上午
     * @auther: yang
     */

    public static void test2() {
        for (int i = 6; i <= 1000; i++) {
            if (i % 2 == 0) {
                // 判断是不是偶数
                for (int j = 2; j <= i; j++) {
                    // 找到从 2 - i 的质数
                    if (HomeWork2.judgingPrimeNumbers(j)){
                        // 如果 j 是质数
                        int difference=i-j;
                        if (HomeWork2.judgingPrimeNumbers(difference)){
                            // 如果 i - j = d , 并且 d 是质数，打印
                            System.out.println(i+" = "+j+" "+difference);
                        }
                    }
                }
            }
        }
    }

    /**
     * @Description: TODO  获取 1 到 100 内位数上含有1的所有质数的的平均值
     * @name: test1
     * @param: []
     * @return: double
     * @date: 2020/6/3 9:52 上午
     * @auther: yang
     */

    public static double test1() {
        int sum = 0;
        int number = 0;
        for (int i = 0; i <= 100; i++) {
            if (HomeWork2.judgingPrimeNumbers(i)) {
                // 判断 i 是不是质数
                if (String.valueOf(i).contains("1")) {
                    // 判断 i 位数上是否包含1
                    sum += i;
                    number++;
                }
            }
        }
        return (double) sum / (double) number;
    }

}
